AWS Config을 이용해서 자동으로 EBS 볼륨 암호화 설정해 보기
안녕하세요 클래스메소드 김재욱(Kim Jaewook) 입니다. 이번에는 AWS Config을 이용해서 자동으로 EBS 볼륨을 암호화하는 방법에 대해서 정리해 봤습니다.
EBS 볼륨 암호화?
이전 블로그에서는 EBS 볼륨 암호화를 위해 스냅샷을 이용하여 암호화된 EBS 볼륨을 생성하여 기존 EBS 볼륨과 교체하는 작업을 실시했습니다.
직접 수동으로 암호화 작업을 실시하고 EBS 볼륨을 교체하는 방법도 있지만, EBS 볼륨의 암호화 설정이 비활성화된 것을 인지하기까지 오랜 시간이 걸릴 수도 있으므로 AWS Config으로 자동화 시켜보도록 합시다.
IAM 역할 생성
먼저 AWS Config 규칙을 통해 암호화 작업을 실시하기에 앞서 해당 규칙에 암호화 작업을 수행할 수 있는 권한을 할당할 필요가 있습니다.
IAM 콘솔 화면에서 IAM 역할을 생성합니다. 서비스 또는 사용 사례는 Systems Manager를 선택합니다.
정책은 설정하지 않은 상태로 IAM 역할을 생성합니다.
생성한 IAM 역할로 들어와 인라인 정책을 생성합니다.
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"ec2:EnableEbsEncryptionByDefault",
"ec2:GetEbsEncryptionByDefault",
"ssm:StartAutomationExecution",
"ssm:GetAutomationExecution"
],
"Resource": "*"
}
]
}
인라인 정책의 경우 EBS 볼륨을 암호화하기 위한 권한을 포함하고 있습니다.
인라인 정책을 생성했다면, AWS Config 규칙에서 IAM 역할을 사용하기 위해 Arn을 복사하여 메모해 둡니다.
AWS Config 규칙 생성
IAM 역할 생성이 끝났다면, 암호화 자동화를 위해 AWS Config 규칙을 생성합니다.
AWS Config 콘솔 화면에서 규칙을 생성합니다.
AWS 관리형 규칙은 ec2-ebs-encryption-by-default를 선택합니다.
AWS Config 규칙의 빈도를 설정합니다. 지정한 시간마다 평가를 진행하며, 1시간을 선택했다면 1시간마다 EBS 볼륨의 암호화 상태를 평가할 것입니다.
빈도 이외 설정 값은 디폴트를 유지한 상태로 AWS Config 규칙을 생성합니다.
규칙을 생성했다면, 해당 규칙에서 문제 해결 괸리를 클릭합니다.
AWS Config 규칙에서 평가를 진행한 다음, 규정이 미준수 상태(이번 규칙에서는 EBS 볼륨이 암호화되지 않은 상태)일 경우 자동으로 작업을 실시하도록 설정합니다. 이를 위해 자동 수정을 선택합니다.
문제 해결 작업 선택은 AWSConfigRemediation-EnableEbsEncryptionByDefault를 선택합니다.
마지막으로 파라미터에는 조금 전 메모한 IAM 역할의 Arn을 붙여넣습니다.
여기까지 AWS Config 규칙을 설정하고, 이를 통해 EBS 볼륨의 암호화 여부를 자동으로 확인하고, 암호화되지 않은 볼륨에 대해 자동으로 암호화 작업을 수행하는 규칙을 생성했습니다.
한 가지 주의할 점은 아래 스냅샷을 통해 암호화를 시키는 작업은 기본적으로 요금에 대해 신경쓸 필요는 없습니다.
※ 스냅샷을 통해 백업 작업을 실시하고 있을 경우 EBS 볼륨 암호화를 통한 비용이 추가로 청구되는 것은 아니기 때문에 비용에 문제는 없을 것이라 생각합니다.
하지만, AWS Config 규칙의 경우 규칙 평가 횟수를 기준으로 요금이 부과되므로 주의할 필요가 있습니다.
본 블로그 게시글을 읽고 궁금한 사항이 있으신 분들은 jaewookkim533@yahoo.com로 보내주시면 감사하겠습니다.